//
//  CTVClip.h
//  Channltv
//
//  Created by Bruno Keymolen on 7/5/07.
//  Copyright 2007 channl.tv. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import "CTVClipMenuItemLayer.h"

@interface CTVClip : NSObject {
	@protected
		float m_rate;
		long m_rateCount;
		float m_viewerRate;
		NSString* m_title;
		NSString* m_info;
		NSString* m_url;
		NSString* m_thumbUrl;
		long m_duration;
		BOOL m_privateMedia;
		BOOL m_streamMedia;
		BOOL m_autoSyncMedia;
		BRBitmapTexture* m_thumbTexture;
		NSString* m_clipID;
		CTVClipMenuItemLayer* m_menuItemLayer;
		id m_pChannel;
	@private
	@public

}

-(void)setTitle:(NSString*) title;
-(NSString*)getTitle;
-(void)setUrl:(NSString*) url;
-(NSString*)getUrl;
-(void)setInfo:(NSString*) info;
-(NSString*)getInfo;
-(void)setThumbUrl:(NSString*) thumbUrl;
-(NSString*)getThumbUrl;
-(void)setDuration:(long)duration;
-(long)getDuration;
-(BOOL)autoSyncMedia;
-(BOOL)privateMedia;
-(BOOL)streamMedia;
-(void)setAutoSyncMedia:(BOOL)val;
-(void)setPrivateMedia:(BOOL)val;
-(void)setStreamMedia:(BOOL)val;
-(void)setClipID:(NSString*)clipID;
-(NSString*)clipID;
-(CTVClipMenuItemLayer*)menuItemLayer;
-(void)setMenuItemLayer:(CTVClipMenuItemLayer*)menuItemLayer;
-(float)rate;
-(void)setRate:(float)rate;
-(long)rateCount;
-(void)setRateCount:(long)rateCount;
-(float)viewerRate;
-(void)setViewerRate:(float)viewerRate;

-(void)loadBitmapTextureForScene:(BRRenderScene*)scene;
-(BRBitmapTexture*)thumbTexture;
-(void)setThumbTexture:(BRBitmapTexture*)texture;

-(id)autorelease;
-(id)retain;
-(oneway void)release;

-(id)pChannel;
-(void)setChannelPointer:(id)pChannel;

-(BOOL)isSane; //sanity check

@end
